// PersistentObjectManager.h: interface for the PersistentObjectManager class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PERSISTENTOBJECTMANAGER_H__ADDAD236_6C41_4236_B978_A2E97E03C01B__INCLUDED_)
#define AFX_PERSISTENTOBJECTMANAGER_H__ADDAD236_6C41_4236_B978_A2E97E03C01B__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "ManagerTemplate.h"
#include "Singleton.h"
#include "UeObjectId.h"
#include "PersistentObject.h"

class DllExport PersistentObjectManager : public ManagerTemplate<UeObjectId, PersistentObject>
{
public:
	PersistentObjectManager();
	virtual ~PersistentObjectManager();

public:
	void Add(PersistentObject* pObj);
	PersistentObject* Get(const UeObjectId& id);
};
PersistentObjectManager& GetCurManager();
#endif // !defined(AFX_PERSISTENTOBJECTMANAGER_H__ADDAD236_6C41_4236_B978_A2E97E03C01B__INCLUDED_)
